#include <iostream>
#include <algorithm>
using namespace std;

#include <vector>

int main()
{
    int a[] = { 1, 2, 3, 4 };
	vector<int> v(a, a + sizeof(a)/sizeof(int));
	// 使用find查找3所在位置的iterator
	vector<int>::iterator pos = find(v.begin(), v.end(), 2);
	// 删除pos位置的数据，导致pos迭代器失效。
	v.erase(pos);
	cout << *pos << endl; // 此处会导致非法访问
    return 0;
}
